/**
 * 排序问题：用户输入N和N个整数，要求按照从小到大对其排序，并在一行输出。
 * 输入：
 * 5
 * 12 3 9 2 1
 * 输出：
 * 1 2 3 9 12 
 */

#include <iostream>
using namespace std;
void input(int a[],int& len)
{
   cin>>len;
   for(int i = 0; i<len; i++)
      cin>>a[i];
   return;
}
void show(int a[],int len)
{
    for(int i = 0; i<len-1; i++)
      cout<<a[i]<<" ";
    cout<<a[len-1]<<endl;
}
void swap(int & a,int & b)
{
    int temp = a;
    a = b;
    b = temp;
}
void swap(int * a,int * b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
}

bool bubble(int a[],int len)
{
    bool ifBubble = false;
    for(int i = 0; i<len-1; i++)
    {
        if(a[i]>a[i+1])
        {
            ifBubble = true;
            //swap(a[i],a[i+1]);
            swap(&a[i],&a[i+1]);
        }
    }
    return ifBubble;
    
}
int main()
{
   int N;
   int a[100];
   input(a,N); 
   show(a,N);
   while(bubble(a,N))
   {
   }
   show(a,N);
    
}